#ifndef MyApp_H
#define MyApp_H

#include "d3dapp.h"

#include "SceneManager.h"

#include "ResourcesManager.h"

#include "MessageQueryer.h"
#include "MessageDispatcher.h"
#include "GlobalMessage.h"

#include "Camera.h"

#include "TerrainInformation.h"
#include "TerrainManager.h"

class MyApp :
	public D3DApp
{
public:
	MyApp(HINSTANCE hInstance);
	virtual ~MyApp(void);

	virtual void initApp();
	virtual void onResize();
	virtual void updateScene(float dt);
	virtual void drawScene(); 
	virtual LRESULT msgProc(UINT msg, WPARAM wParam, LPARAM lParam);

	void SceneTest();
	void TerrainTest();

private:
	D3DXVECTOR3		m_EyePos;
	D3DXMATRIX		m_matView;
	D3DXMATRIX		m_matProj;
	//Crate			crate;
	SceneManager	m_SceneMgr;
	//Camera			m_Camera;
	TerrainManager	m_TerrainManager;
};

#endif